// pages/home/home.js
import {config} from "../config/config";

Page({
    /**
     * 页面的初始数据
     */
    data: {
        message: '事件点击相应',
        array: [1, 2, 3, 4, 5],
        length: 3,
        imgUrls: [
            'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',
            'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',
            'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'
        ],
        iconSize: [20, 30, 40, 50, 60, 70],
        iconColor: [
            'red', 'orange', 'yellow', 'green', 'rgb(0,255,255)', 'blue', 'purple'
        ],
        iconType: [
            'success', 'success_no_circle', 'info', 'warn', 'waiting', 'cancel', 'download', 'search', 'clear'
        ]
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        console.log("onLoad")
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {
        console.log("onReady")
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        console.log("onShow")
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {
        console.log("onHide")
    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {
        console.log("onUnload")
    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {
        console.log("onPullDownRefresh")
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {
        console.log("onReachBottom")
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {
        console.log("onShareAppMessage")
    },

    /**
     * 事件 - 分为冒泡事件与非冒泡事件
     * 1、冒泡事件：当触发(例如：点击)事件时，该事件亦会向父节点传递
     * 2、非冒泡事件：当触发该事件时，该事件不会向父节点进行传递
     *
     * 点击屏幕事件有以下几类
     * touchstart        手指触摸屏幕开始
     * touchmove         手指触摸屏幕后并移动
     * touchcancel       手指触摸屏幕动作被打断，如来电，弹窗
     * touchend          手指触摸屏幕动作结束，手指离开屏幕
     * tap               手指触摸屏幕后立马离开，常见场景为单击
     * longtap           手机触摸屏幕后，超过350ms离开屏幕
     * 接下来是监听触摸操作方式
     * key值以bind或catch开头，如bindtap/catchtap、bindtouchend/catchtouchend
     * 但两者还是有区别的
     * 以bind开头的触摸监听操作是有冒泡事件效果的，以catch开头的触摸监听操作是没有冒泡事件效果的，会被拦截。
     *
     * 事件对象，例如：onViewTapStart: function (event) {}这个方法中的形参 event 就是事件对象
     * 它集成自BaseEvent基础事件对象
     * 可以再控制台打印出形参 event
     * {type: "touchstart", timeStamp: 1734, target: {…}, currentTarget: {…}, touches: Array(1), …}
     * 它有几个常用的属性:
     * type                事件类型
     * timeStamp           事件生成时的时间戳
     * target              触发事件的组件的一些属性值集合
     * currentTarget       当前组件的一些属性值集合
     * touches             触摸事件，当前停留在屏幕中的触摸点信息的数组
     * 更加详细的请参见 https://www.w3cschool.cn/weixinapp/weixinapp-event.html
     */

    onViewTapStart: function (event) {
        console.log("onViewTapStart")
        console.log(event)
    },

    onViewTaped: function (event) {
        console.log("onViewTaped")
        console.log(event)
    },

    onViewTapEnd: function (event) {
        console.log("onViewTapEnd")
        console.log(event)
    },

    onViewLongTaped: function (event) {
        console.log("onViewLongTaped")
        console.log(event)
    },
    
    onRemoteLightOpen: function () {
        wx.request({
            // 请求地址（必须基于https协议）
            url: 'http://192.168.31.191:1992/torch_open',
            // 发送到服务器的数据
            data: {
                name: "zhangsan",
                age: '20'
            },
            // 成功之后的回调函数
            success: function(result) {
                console.log(result)
            }
        })
    },

    onRemoteLightClose: function () {
        wx.request({
            // 请求地址（必须基于https协议）
            url:`${config.url}`,
            //url: 'http://192.168.31.191:1992/torch_close',
            // 发送到服务器的数据
            data: {
                name: "zhangsan",
                age: '20'
            },
            // 成功之后的回调函数
            success: function(result) {
                console.log(result)
            }
        })
    }
})